package com.sjq.service;


import com.sjq.model.entity.Paper;
import com.sjq.model.entity.PaperBase;
import com.sjq.model.entity.Rating;
import com.sjq.model.request.ContentDto;
import com.sjq.model.request.PaperRequest;
import com.sjq.model.response.PaperByManagerResponse;
import com.sjq.model.response.PaperDetailResponse;

import java.util.List;

/**
 * 稿件Service接口
 *
 * @author sjq
 * @date 2022-03-13
 */
public interface IPaperService
{
    /**
     * 查询稿件
     *
     * @param id 稿件ID
     * @return 稿件
     */
    public PaperDetailResponse selectPaperById(Long id);

    /**
     * 查询稿件列表
     *
     * @param paperRequest 稿件
     * @return 稿件集合
     */
    public PaperByManagerResponse selectPaperList(PaperRequest paperRequest);

    /**
     * 新增稿件
     *
     * @param paper 稿件
     * @return 结果
     */
    public int insertPaper(PaperBase paper);

    /**
     * 修改稿件
     *
     * @param paper 稿件
     * @return 结果
     */
    public int updatePaper(Paper paper);

    /**
     * 批量删除稿件
     *
     * @param ids 需要删除的稿件ID
     * @return 结果
     */
    public int deletePaperByIds(Long[] ids);

    /**
     * 删除稿件信息
     *
     * @param id 稿件ID
     * @return 结果
     */
    public int deletePaperById(Long id);

    /**
     * 批量修改征稿
     * @param ids
     * @return
     */
    public int updatePaperStatus(Long[] ids);

    /**
     * 查询稿件列表
     */
    public List<Paper> paperList(ContentDto contentdto);

    /**
     * 专家评价
     * @param rating
     * @return
     */
    public int evaluate(Rating rating);

    /**
     * 批量修改审稿
     * @param ids
     * @return
     */
    int updatePaperExpertStatus(Long[] ids);

    int insertZhengGao(Long userId, Long[] ids);

    List<Paper> paperListByMyself(ContentDto contentdto, Long userId);
}
